package bender.appl.io;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
 *
 * @author Ramiro
 */
public class ArchivoReductorVectorConverter implements Converter {

    private BufferedReader archivo;

    public ArchivoReductorVectorConverter(String pathArchivo) throws FileNotFoundException {
        archivo = new BufferedReader(
                new FileReader(pathArchivo));

    }

    public double[] convertir() throws IOException {
        double[] resultado = new double[22500];
        int numeroNeurona = 0;
        String linea1 = archivo.readLine();
        String linea2 = archivo.readLine();
        while (linea1 != null || linea2 != null) {
            for (int i = 0; i < linea1.length(); i+=2) {
                resultado[numeroNeurona] = getValor(linea1, linea2, i);
                numeroNeurona++;
            }
            linea1 = archivo.readLine();
            linea2 = archivo.readLine();
        }
        return resultado;
    }

    private double getCeroUno(char c1, char c2, char c3, char c4) {
        if (c1 == '1' || c2 == '1' || c3 == '1' || c4 == '1') {
            return 1;
        }
        return 0;
    }

    private double getValor(String linea1, String linea2, int i) {
        if (i < linea1.length()-1) {
            char c1 = linea1.charAt(i);
            char c2 = linea1.charAt(i + 1);
            char c3 = linea2.charAt(i);
            char c4 = linea2.charAt(i + 1);
            return getCeroUno(c1, c2, c3, c4);
        }
        return 0;
    }
}
